home *** CD-ROM | disk | FTP | other *** search
/ HyperLib 1997 Winter - Disc 1 / HYPERLIB-1997-Winter-CD1.ISO.7z / HYPERLIB-1997-Winter-CD1.ISO / オンラインウェア / PRG / NGL2.0.1J(ppc).sit / NGL2.0.1J(ppc) / Button Sample / Button_Sample(PPC).c < prev    next >
C/C++ Source or Header  |  1996-09-14  |  3KB  |  84 lines

  1. /*============================================================
  2.  
  3.                     N_Button サンプルプログラム
  4.                     
  5. ============================================================*/
  6. #include        "N_Library.h"
  7.  
  8. short        Data_Rsrc = 0;
  9. short        Snd_List0[]     = {1000,1001,0};                                        //使用するサウンドリソース番号の登録
  10. long            counter1         = 2000;                                                //表示するカウンターの初期値
  11. long            counter2         = 2000;
  12. long            counter3         = 2000;
  13.  
  14. void main(void)
  15. {
  16.     WindowPtr    window;
  17.     short        bt;
  18.  
  19.     ToolboxInit();
  20.     ColorCheck();
  21.     HideMenuBar();
  22.     window = GetNewWindow (128,nil,(WindowPtr)-1L );
  23.     N_Window_Set(window,-(window->portBits.bounds.left),-(window->portBits.bounds.top),640,480);
  24.     Open_Resource_File(128,1,&Data_Rsrc);
  25.     N_Sp_Make(640,480);                                                        //スプライト・セルの表示有効範囲
  26.     N_Cel_Make(50000);                                                        //画面に表示させるセルパターンの総ドット数は最低必要
  27.     N_Pict_Draw(128,0,0,(GrafPtr)SP_off,true);
  28.     N_Button_Init();                                                            //使用するルーチンの初期化
  29.     N_Font_Init();
  30.     N_Sprite_Set(129,0,14,24,1,11,1,0);                                            //数字フォント11個を登録 (Sp 0 - 10) 
  31.     N_Sprite_Set(130,11,32,32,1,6,1,0);                                            //ボタンフォント6個を登録 (Sp 11 - 16)
  32.     N_Sound_Load(&Snd_List0[0]);                                                    //ボタンのオン・オフ時の音を読み込む
  33.     N_Font_Set(0,0,0,0,0);                                                        //数字フォントセットを登録
  34.     Close_Resource_File(&Data_Rsrc);
  35.  
  36.     N_Button_Set(0,0,1,40,410,0,0x80000000+11,0x80000000+12,1000,1001);            //ボタンの配置を登録   Mode 0ボタンの左右
  37.     N_Button_Set(0,1,1,80,410,0,0x80000000+13,0x80000000+14,1000,1001);
  38.     N_Button_Set(0,2,1,160,410,40,0x80000000+11,0x80000000+12,1000,1001);            //Mode 1-511 ボタンの左右 (wait time = 40)
  39.     N_Button_Set(0,3,1,200,410,40,0x80000000+13,0x80000000+14,1000,1001);
  40.     N_Button_Set(0,4,1,280,410,512,0x80000000+11,0x80000000+12,1000,1001);        //Mode 512 ボタンの左右
  41.     N_Button_Set(0,5,1,320,410,512,0x80000000+13,0x80000000+14,1000,1001);
  42.     N_Button_Set(0,6,1,410,410,513,0x80000000+15,0x80000000+16,1000,1001);        //Mode 513・514ボタンの登録
  43.     N_Button_Set(0,7,1,470,410,514,0x80000000+15,0x80000000+16,1000,1001);
  44.     N_Button_Set(0,8,1,562,410,512,0x80000000+15,0x80000000+16,1000,1001);        //Quit ボタンの登録
  45.     N_Button_Put(0);
  46.     N_Num_Put(counter1,30,320,5,16,0,2,0);                                        //カウンターの初期表示
  47.     N_Num_Put(counter2,150,320,5,16,0,2,0);
  48.     N_Num_Put(counter3,270,320,5,16,0,2,0);
  49.     
  50.     do
  51.     {
  52.         bt = N_Button_Check(0);
  53.         if (bt == 1) counter1++;                                                    //それぞれの右を押すとカウンター増
  54.         if (bt == 3) counter2++;
  55.         if (bt == 5) counter3++;
  56.         if (counter1 == 10000) counter1 = 0;                                        //それぞれが10000までいくと0に戻る
  57.         if (counter2 == 10000) counter2 = 0;
  58.         if (counter3 == 10000) counter3 = 0;
  59.         if (bt == 0) counter1--;                                                    //それぞれの左を押すとカウンター減
  60.         if (bt == 2) counter2--;
  61.         if (bt == 4) counter3--;
  62.         if (counter1 == -1) counter1 = 9999;                                        //それぞれがー1までいくと9999に戻る
  63.         if (counter2 == -1) counter2 = 9999;
  64.         if (counter3 == -1) counter3 = 9999;
  65.         if(bt != -1)                                                            //いずれかのボタンが押されて数値が変わる可能性があれば
  66.         {
  67.             N_Num_Put(counter1,30,320,5,16,0,2,0);                                //カウンター表示を更新する
  68.             N_Num_Put(counter2,150,320,5,16,0,2,0);
  69.             N_Num_Put(counter3,270,320,5,16,0,2,0);
  70.         }
  71.         N_Cel_Loop(0,0);
  72.     }
  73.     while (bt != 8);                                                                //QUIT のボタンが押されればループを抜ける
  74.     N_Sound_Close();                                                            //サウンドチャネルを閉じる
  75.     FlushEvents( everyEvent, 0 ); 
  76.     ShowMenuBar();
  77.     ColorRevert();
  78. }
  79.  
  80.  
  81.  
  82.     
  83.  
  84.